<?php
// +----------------------------------------------------------------------
// | 幕小铺
// +----------------------------------------------------------------------
// | 版权所有 2016~2020 幕小铺科技（大连）有限公司
// +----------------------------------------------------------------------
// | 2020/03/14
// +----------------------------------------------------------------------

namespace app\erp\home;
use app\common\controller\AuthCheck;

/**
 * 门店-供货商管理
 * @package app\cms\admin
 */
class Supplier extends AuthCheck{
    /**
     * 首页
     * @author dou<51779987@qq.com>
     * @return json_out(code, message, data)
     */
    public function index(){
        //参数接收
        $params 		= $this->getParams(0);//0 get 1 post
        $user_id    	= intval(isset($params["user_id"]) ? $params["user_id"] : 0);//操作用户ID

        $title    	    = isset($params["title"]) ? $params["title"] : '';//供应商名称
        //数据验证
        $Validate = validate('Supplier', 'validate');
        if( !$Validate -> scene('supplier_index') -> check($params) ){
            json_out(-1001, $Validate -> getError(), []);//验证失败
        }

        //逻辑处理
        $list = controller('Supplierlogic', 'logic') -> index($user_id, $title);

        //数据返回
        if($list['code'] == 200){
            json_out($list['code'], $list['message'], $list['data']);
        }else{
            json_out($list['code'], $list['message'], []);
        }
    }

    /**
     * 添加
     * @param title 	            string  供应商名称
     * @param code 		            string  供应商编码
     * @param settlement_cycle 		int     结算周日（天）
     * @param corporate_name 		string  公司名称
     * @param corporate_address 	string  公司地址
     * @param remarks 		        text    备注
     * @param sort 		            int     排序
     * @param supplier_type 		int     1经销 2代销 3联营
     * @param tax_rate 				string     税率(%)
     * @param bank_account 			string  银行账户
     * @param tax_code 				string  税号
     * @author dou<51779987@qq.com>
     * @return json_out(code, message, (int)id)
     */
    public function add(){
        //参数接收
        $params 		    = $this->getParams(1);//0 get 1 post
        $user_id    	    = intval(isset($params["user_id"]) ? $params["user_id"] : 0);//操作用户ID
        $title    		    = isset($params["title"]) ? $params["title"] : '';
        $settlement_cycle   = intval(isset($params["settlement_cycle"]) ? $params["settlement_cycle"] : 0);
        $corporate_name    	= isset($params["corporate_name"]) ? $params["corporate_name"] : '';
        $corporate_address  = isset($params["corporate_address"]) ? $params["corporate_address"] : '';
        $remarks    		= isset($params["remarks"]) ? $params["remarks"] : '';
        $sort    	        = intval(isset($params["sort"]) ? $params["sort"] : 0);
		
        $supplier_type    	= intval(isset($params["supplier_type"]) ? $params["supplier_type"] : 0);
        $tax_rate    		= isset($params["tax_rate"]) ? $params["tax_rate"] : 0;
        $bank_account    	= isset($params["bank_account"]) ? $params["bank_account"] : '';
        $tax_code    		= isset($params["tax_code"]) ? $params["tax_code"] : '';
        //数据验证
        $Validate = validate('Supplier', 'validate');
        if( !$Validate -> scene('supplier_add') -> check($params) ){
            json_out(-1001, $Validate -> getError());//验证失败
        }

        //逻辑处理
        $list = controller('Supplierlogic', 'logic') -> add($user_id, $title, $settlement_cycle, $corporate_name, $corporate_address, $remarks, $sort, $supplier_type, $tax_rate, $bank_account, $tax_code);
        //数据返回
        if($list['code'] == 200){
            json_out($list['code'], '新增成功');
        }else{
            json_out($list['code'], $list['message']);
        }
    }

    /**
     * 编辑
     * @param id 	            	string  供应商名称
     * @param title 	            string  供应商名称
     * @param code 		            string  供应商编码
     * @param settlement_cycle 		int     结算周日（天）
     * @param corporate_name 		string  公司名称
     * @param corporate_address 	string  公司地址
     * @param remarks 		        text    备注
     * @param sort 		            int     排序
	 * @param supplier_type 		int     1经销 2代销 3联营
     * @param tax_rate 				string     税率(%)
     * @param bank_account 			string  银行账户
     * @param tax_code 				string  税号
     * @author dou<51779987@qq.com>
     * @return json_out(code, message, (int)id)
     */
    public function edit(){
        //参数接收
        $params 		    = $this->getParams(1);//0 get 1 post
        $user_id    	    = intval(isset($params["user_id"]) ? $params["user_id"] : 0);//操作用户ID
        $id = $params["id"] = intval(isset($params["sid"]) ? $params["sid"] : 0);
        $title    		    = isset($params["title"]) ? $params["title"] : '';
        $settlement_cycle   = intval(isset($params["settlement_cycle"]) ? $params["settlement_cycle"] : 0);
        $corporate_name    	= isset($params["corporate_name"]) ? $params["corporate_name"] : '';
        $corporate_address  = isset($params["corporate_address"]) ? $params["corporate_address"] : '';
        $remarks    		= isset($params["remarks"]) ? $params["remarks"] : '';
        $sort    	        = intval(isset($params["sort"]) ? $params["sort"] : 0);
		
		$supplier_type    	= intval(isset($params["supplier_type"]) ? $params["supplier_type"] : 0);
        $tax_rate    		= isset($params["tax_rate"]) ? $params["tax_rate"] : 0;
        $bank_account    	= isset($params["bank_account"]) ? $params["bank_account"] : '';
        $tax_code    		= isset($params["tax_code"]) ? $params["tax_code"] : '';

        //数据验证
        $Validate = validate('Supplier', 'validate');
        if( !$Validate -> scene('supplier_edit') -> check($params) ){
            json_out(-1001, $Validate -> getError());//验证失败
        }

        //逻辑处理
        $list = controller('Supplierlogic', 'logic') -> edit($user_id, $id, $title, $settlement_cycle, $corporate_name, $corporate_address, $remarks, $sort, $supplier_type, $tax_rate, $bank_account, $tax_code);

        //数据返回
        if($list['code'] == 200){
            json_out($list['code'], '编辑成功');
        }else{
            json_out($list['code'], $list['message']);
        }
    }

    /**
     * 删除
     * @param int $id
     * @author dou<51779987@qq.com>
     * @return bool
     */
    public function delete(){
        //参数接收
        $params 		= $this->getParams(1);//0 get 1 post
        $user_id    	= intval(isset($params["user_id"]) ? $params["user_id"] : 0);//操作用户ID
        $id = $params["id"] = intval(isset($params["sid"]) ? $params["sid"] : 0);

        //数据验证
        $Validate = validate('Supplier', 'validate');
        if( !$Validate -> scene('supplier_delete') -> check($params) ){
            json_out(-1001, $Validate -> getError());//验证失败
        }

        //逻辑处理
        $list = controller('Supplierlogic', 'logic') -> delete($user_id, $id);

        //数据返回
        if($list['code'] == 200){
            json_out($list['code'], '删除成功');
        }else{
            json_out($list['code'], $list['message']);
        }
    }

}